/********************************************************************** 
 * FILE		: AbstractDateUtil.java					
 *			
 * AUTHOR   : kloyf		
 * 
 * DATE		: 2011-6-2
 * 									
 * REASON	: CREATE  
 *            							
 * VERSION  ：1.0.0
 *
 ***********************************************************************/
package com.common.util.date;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import com.common.util.BaseUtil;

/**
 * <p>
 * 日期工具类的抽象类
 * </p>
 * 
 * @author kloyf
 * @version 1.0.0
 * 
 */
public abstract class AbstractDateUtil extends BaseUtil {

	private static Calendar calendar = null;
	private static SimpleDateFormat simpleDateFormat = null;

	/**
	 * 功能描述：日期格式转换
	 * 
	 * @param date
	 *            Date 日期
	 * @param format
	 *            String 日期转换的格式
	 * @return String 转换的结果，以String类型返回
	 */
	public static String formatDate(Date date, String format) {
		SimpleDateFormat simpleDateFormat = getSimpleDateFormat(format);
		return simpleDateFormat.format(date);
	}

	/**
	 * 功能描述：获取SimpleDateFormat对象
	 * 
	 * @param format
	 *            String 日期转换格式
	 * @return SimpleDateFormat 返回SimpleDateFormat对象
	 */
	public static SimpleDateFormat getSimpleDateFormat(String format) {
		simpleDateFormat = new SimpleDateFormat(format);
		return simpleDateFormat;
	}

	/**
	 * 功能描述：获取Calendar对象
	 * 
	 * @return 返回Calendar对象
	 */
	public static Calendar getCalendar() {
		if (isEmpty(calendar)) {
			calendar = Calendar.getInstance();
		}
		return calendar;
	}
}
